package com.google.zxing.qrcode; class QRCodeWriter { void a() { int a;
a=0;// .class public final Lcom/google/zxing/qrcode/QRCodeWriter;
a=0;// .super Ljava/lang/Object;
a=0;// 
a=0;// # interfaces
a=0;// .implements Lcom/google/zxing/Writer;
a=0;// 
a=0;// 
a=0;// # static fields
a=0;// .field private static final QUIET_ZONE_SIZE:I = 0x4
a=0;// 
a=0;// 
a=0;// # direct methods
a=0;// .method public constructor <init>()V
a=0;//     .locals 0
a=0;// 
a=0;//     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
a=0;// 
a=0;//     #p0=(Reference,Lcom/google/zxing/qrcode/QRCodeWriter;);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method private static renderResult(Lcom/google/zxing/qrcode/encoder/QRCode;II)Lcom/google/zxing/common/ByteMatrix;
a=0;//     .locals 18
a=0;// 
a=0;//     invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/qrcode/encoder/QRCode;->getMatrix()Lcom/google/zxing/common/ByteMatrix;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/common/ByteMatrix;);
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/common/ByteMatrix;->getWidth()I
a=0;// 
a=0;//     move-result v7
a=0;// 
a=0;//     #v7=(Integer);
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/common/ByteMatrix;->getHeight()I
a=0;// 
a=0;//     move-result v8
a=0;// 
a=0;//     #v8=(Integer);
a=0;//     add-int/lit8 v1, v7, 0x8
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     add-int/lit8 v3, v8, 0x8
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     move/from16 v0, p1
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
a=0;// 
a=0;//     move-result v9
a=0;// 
a=0;//     #v9=(Integer);
a=0;//     move/from16 v0, p2
a=0;// 
a=0;//     invoke-static {v0, v3}, Ljava/lang/Math;->max(II)I
a=0;// 
a=0;//     move-result v10
a=0;// 
a=0;//     #v10=(Integer);
a=0;//     div-int v1, v9, v1
a=0;// 
a=0;//     div-int v3, v10, v3
a=0;// 
a=0;//     invoke-static {v1, v3}, Ljava/lang/Math;->min(II)I
a=0;// 
a=0;//     move-result v11
a=0;// 
a=0;//     #v11=(Integer);
a=0;//     mul-int v1, v7, v11
a=0;// 
a=0;//     sub-int v1, v9, v1
a=0;// 
a=0;//     div-int/lit8 v5, v1, 0x2
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     mul-int v1, v8, v11
a=0;// 
a=0;//     sub-int v1, v10, v1
a=0;// 
a=0;//     div-int/lit8 v12, v1, 0x2
a=0;// 
a=0;//     #v12=(Integer);
a=0;//     new-instance v13, Lcom/google/zxing/common/ByteMatrix;
a=0;// 
a=0;//     #v13=(UninitRef,Lcom/google/zxing/common/ByteMatrix;);
a=0;//     invoke-direct {v13, v9, v10}, Lcom/google/zxing/common/ByteMatrix;-><init>(II)V
a=0;// 
a=0;//     #v13=(Reference,Lcom/google/zxing/common/ByteMatrix;);
a=0;//     invoke-virtual {v13}, Lcom/google/zxing/common/ByteMatrix;->getArray()[[B
a=0;// 
a=0;//     move-result-object v14
a=0;// 
a=0;//     #v14=(Reference,[[B);
a=0;//     new-array v15, v9, [B
a=0;// 
a=0;//     #v15=(Reference,[B);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v4=(Conflicted);
a=0;//     if-ge v1, v12, :cond_0
a=0;// 
a=0;//     aget-object v3, v14, v1
a=0;// 
a=0;//     #v3=(Null);
a=0;//     const/4 v4, -0x1
a=0;// 
a=0;//     #v4=(Byte);
a=0;//     invoke-static {v3, v4}, Lcom/google/zxing/qrcode/QRCodeWriter;->setRowColor([BB)V
a=0;// 
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     #v3=(Integer);v4=(Conflicted);
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/common/ByteMatrix;->getArray()[[B
a=0;// 
a=0;//     move-result-object v16
a=0;// 
a=0;//     #v16=(Reference,[[B);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     move v6, v1
a=0;// 
a=0;//     :goto_1
a=0;//     #v1=(Integer);v2=(Conflicted);v6=(Integer);v17=(Conflicted);
a=0;//     if-ge v6, v8, :cond_7
a=0;// 
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     :goto_2
a=0;//     if-ge v1, v5, :cond_1
a=0;// 
a=0;//     const/4 v2, -0x1
a=0;// 
a=0;//     #v2=(Byte);
a=0;//     aput-byte v2, v15, v1
a=0;// 
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_2
a=0;// 
a=0;//     :cond_1
a=0;//     #v2=(Conflicted);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     move v3, v1
a=0;// 
a=0;//     #v3=(Null);
a=0;//     move v4, v5
a=0;// 
a=0;//     :goto_3
a=0;//     #v1=(Integer);v3=(Integer);v4=(Integer);
a=0;//     if-ge v3, v7, :cond_4
a=0;// 
a=0;//     aget-object v1, v16, v6
a=0;// 
a=0;//     #v1=(Null);
a=0;//     aget-byte v1, v1, v3
a=0;// 
a=0;//     #v1=(Byte);
a=0;//     const/4 v2, 0x1
a=0;// 
a=0;//     #v2=(One);
a=0;//     if-ne v1, v2, :cond_2
a=0;// 
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     :goto_4
a=0;//     const/4 v2, 0x0
a=0;// 
a=0;//     :goto_5
a=0;//     #v2=(Integer);
a=0;//     if-ge v2, v11, :cond_3
a=0;// 
a=0;//     add-int v17, v4, v2
a=0;// 
a=0;//     #v17=(Integer);
a=0;//     aput-byte v1, v15, v17
a=0;// 
a=0;//     add-int/lit8 v2, v2, 0x1
a=0;// 
a=0;//     goto :goto_5
a=0;// 
a=0;//     :cond_2
a=0;//     #v2=(One);v17=(Conflicted);
a=0;//     const/4 v1, -0x1
a=0;// 
a=0;//     goto :goto_4
a=0;// 
a=0;//     :cond_3
a=0;//     #v2=(Integer);
a=0;//     add-int v2, v4, v11
a=0;// 
a=0;//     add-int/lit8 v1, v3, 0x1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     move v3, v1
a=0;// 
a=0;//     move v4, v2
a=0;// 
a=0;//     goto :goto_3
a=0;// 
a=0;//     :cond_4
a=0;//     #v2=(Conflicted);
a=0;//     mul-int v1, v7, v11
a=0;// 
a=0;//     add-int/2addr v1, v5
a=0;// 
a=0;//     :goto_6
a=0;//     if-ge v1, v9, :cond_5
a=0;// 
a=0;//     const/4 v2, -0x1
a=0;// 
a=0;//     #v2=(Byte);
a=0;//     aput-byte v2, v15, v1
a=0;// 
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_6
a=0;// 
a=0;//     :cond_5
a=0;//     #v2=(Conflicted);
a=0;//     mul-int v1, v6, v11
a=0;// 
a=0;//     add-int v2, v12, v1
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     :goto_7
a=0;//     if-ge v1, v11, :cond_6
a=0;// 
a=0;//     const/4 v3, 0x0
a=0;// 
a=0;//     #v3=(Null);
a=0;//     add-int v4, v2, v1
a=0;// 
a=0;//     aget-object v4, v14, v4
a=0;// 
a=0;//     #v4=(Null);
a=0;//     const/16 v17, 0x0
a=0;// 
a=0;//     #v17=(Null);
a=0;//     move/from16 v0, v17
a=0;// 
a=0;//     #v0=(Null);
a=0;//     invoke-static {v15, v3, v4, v0, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
a=0;// 
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_7
a=0;// 
a=0;//     :cond_6
a=0;//     #v0=(Integer);v3=(Integer);v4=(Integer);v17=(Conflicted);
a=0;//     add-int/lit8 v1, v6, 0x1
a=0;// 
a=0;//     move v6, v1
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_7
a=0;//     #v2=(Conflicted);v4=(Conflicted);
a=0;//     mul-int v1, v8, v11
a=0;// 
a=0;//     add-int/2addr v1, v12
a=0;// 
a=0;//     :goto_8
a=0;//     if-ge v1, v10, :cond_8
a=0;// 
a=0;//     aget-object v2, v14, v1
a=0;// 
a=0;//     #v2=(Null);
a=0;//     const/4 v3, -0x1
a=0;// 
a=0;//     #v3=(Byte);
a=0;//     invoke-static {v2, v3}, Lcom/google/zxing/qrcode/QRCodeWriter;->setRowColor([BB)V
a=0;// 
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_8
a=0;// 
a=0;//     :cond_8
a=0;//     #v2=(Conflicted);v3=(Integer);
a=0;//     return-object v13
a=0;// .end method
a=0;// 
a=0;// .method private static setRowColor([BB)V
a=0;//     .locals 2
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v1=(Conflicted);
a=0;//     array-length v1, p0
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     if-ge v0, v1, :cond_0
a=0;// 
a=0;//     aput-byte p1, p0, v0
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// 
a=0;// # virtual methods
a=0;// .method public final encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;II)Lcom/google/zxing/common/ByteMatrix;
a=0;//     .locals 6
a=0;// 
a=0;//     const/4 v5, 0x0
a=0;// 
a=0;//     #v5=(Null);
a=0;//     move-object v0, p0
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/QRCodeWriter;);
a=0;//     move-object v1, p1
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     move-object v2, p2
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/BarcodeFormat;);
a=0;//     move v3, p3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     move v4, p4
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     invoke-virtual/range {v0 .. v5}, Lcom/google/zxing/qrcode/QRCodeWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Hashtable;)Lcom/google/zxing/common/ByteMatrix;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     return-object v0
a=0;// .end method
a=0;// 
a=0;// .method public final encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Hashtable;)Lcom/google/zxing/common/ByteMatrix;
a=0;//     .locals 3
a=0;// 
a=0;//     if-eqz p1, :cond_0
a=0;// 
a=0;//     invoke-virtual {p1}, Ljava/lang/String;->length()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     if-nez v0, :cond_1
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Conflicted);
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "Found empty contents"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_1
a=0;//     #v0=(Integer);v1=(Uninit);
a=0;//     sget-object v0, Lcom/google/zxing/BarcodeFormat;->QR_CODE:Lcom/google/zxing/BarcodeFormat;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/BarcodeFormat;);
a=0;//     if-eq p2, v0, :cond_2
a=0;// 
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     new-instance v1, Ljava/lang/StringBuffer;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/lang/StringBuffer;);
a=0;//     const-string v2, "Can only encode QR_CODE, but got "
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/StringBuffer;);
a=0;//     invoke-virtual {v1, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_2
a=0;//     #v1=(Uninit);v2=(Uninit);
a=0;//     if-ltz p3, :cond_3
a=0;// 
a=0;//     if-gez p4, :cond_4
a=0;// 
a=0;//     :cond_3
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     new-instance v1, Ljava/lang/StringBuffer;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/lang/StringBuffer;);
a=0;//     const-string v2, "Requested dimensions are too small: "
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/StringBuffer;);
a=0;//     invoke-virtual {v1, p3}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     const/16 v2, 0x78
a=0;// 
a=0;//     #v2=(PosByte);
a=0;//     invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {v1, p4}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_4
a=0;//     #v1=(Uninit);v2=(Uninit);
a=0;//     sget-object v1, Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;->L:Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;);
a=0;//     if-eqz p5, :cond_5
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/EncodeHintType;->ERROR_CORRECTION:Lcom/google/zxing/EncodeHintType;
a=0;// 
a=0;//     invoke-virtual {p5, v0}, Ljava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     check-cast v0, Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;
a=0;// 
a=0;//     if-eqz v0, :cond_5
a=0;// 
a=0;//     :goto_0
a=0;//     new-instance v1, Lcom/google/zxing/qrcode/encoder/QRCode;
a=0;// 
a=0;//     #v1=(UninitRef,Lcom/google/zxing/qrcode/encoder/QRCode;);
a=0;//     invoke-direct {v1}, Lcom/google/zxing/qrcode/encoder/QRCode;-><init>()V
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/qrcode/encoder/QRCode;);
a=0;//     invoke-static {p1, v0, p5, v1}, Lcom/google/zxing/qrcode/encoder/Encoder;->encode(Ljava/lang/String;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Ljava/util/Hashtable;Lcom/google/zxing/qrcode/encoder/QRCode;)V
a=0;// 
a=0;//     invoke-static {v1, p3, p4}, Lcom/google/zxing/qrcode/QRCodeWriter;->renderResult(Lcom/google/zxing/qrcode/encoder/QRCode;II)Lcom/google/zxing/common/ByteMatrix;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     return-object v0
a=0;// 
a=0;//     :cond_5
a=0;//     move-object v0, v1
a=0;// 
a=0;//     goto :goto_0
a=0;// .end method
}}
